package com.beasu.tingting.utils

import android.util.Log
import java.net.URLEncoder

class MorseCodeTable {
    companion object {
        private val table = HashMap<Char, String>()
        init {
            table.put('A', ".-")
            table.put('B', "-...")
            table.put('C', "-.-.")
            table.put('D', "-..")
            table.put('E', ".")
            table.put('F', "..-.")
            table.put('G', "--.")
            table.put('H', "....")
            table.put('I', "..")
            table.put('J', ".---")
            table.put('K', "-.-")
            table.put('L', ".-..")
            table.put('M', "--")
            table.put('N', "-.")
            table.put('O',"---")
            table.put('P', ".--.")
            table.put('Q', "--.-")
            table.put('R', ".-.-")
            table.put('S', "...")
            table.put('T', "-")
            table.put('U', "..-")
            table.put('V', "...-")
            table.put('W', ".--")
            table.put('X', "-..-")
            table.put('Y', "-.--")
            table.put('Z', "--..")
            table.put('0', "-----")
            table.put('1', ".----")
            table.put('2', "..---")
            table.put('3', "...--")
            table.put('4', "....-")
            table.put('5', ".....")
            table.put('6', "-....")
            table.put('7', "--...")
            table.put('8', "---..")
            table.put('9', "----.")
            table.put('.', ".-.-.-")
            table.put(':', "---...")
            table.put(',', "--..--")
            table.put(';', "-.-.-.")
            table.put('?', "..--..")
            table.put('=', "-...-")
            table.put('"', ".----.")
            table.put('/', "-..-.")
            table.put('!', "-.-.--")
            table.put('-', "-....-")
            table.put('_', "..--.-")
            table.put('\'', ".-..-.")
            table.put('(', "-.--.")
            table.put(')', "-.--.-")
            table.put('$', "...-..-")
            table.put('&', "......")
            table.put('@', ".--.-.")
        }
        fun getValue(c : Char):String{
            return  table.get(c) ?:c.toString()
        }
        fun getKey(value:String):String{
            for((k,v) in table){
                if(v.equals(value)){
                    return k.toString()
                }
            }
            return  value.toString()
        }
    }

}